home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / tool7v13 / demoedi.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1994-09-25  |  3.1 KB  |  99 lines

  1. Program DemoEditor;
  2.  
  3. { Purpose....... Demonstrates the use of the following units: Editor
  4.   Comments...... None
  5.   Author........ Thayne Breetzke
  6.   Date.......... 5 April 1994                                                }
  7.  
  8. {$I-,V-}
  9.  
  10. Uses
  11.   Crt,
  12.   Strings,
  13.   Input,
  14.   Screen,
  15.   Cursor,
  16.   Windows,
  17.   Editor;
  18.  
  19. Var
  20.   Buffer   : BufferPtr;
  21.   Key      : Char;
  22.   Extended,
  23.   HelpOn   : Boolean;
  24.   ErrorCode: Integer;
  25.   CState   : CStateRec;
  26.  
  27.  
  28. {$F+}
  29. Procedure UpdateProc(Var Key: Char; Var Extended: Boolean; UpdateVar: Word);
  30.  
  31. Begin
  32.   If (Key = #59) and not HelpOn then
  33.     Begin
  34.       HelpOn := True;
  35.       SaveCursor(InsertKey,CState);
  36.       CursorOff;
  37.       OpenWindow(2,3,79,23,' Help ',' Press Esc to close this help window ',DoubleFrame,15+4*16,15+4*16,False);
  38.       WriteMem(4,5,'Cursor Movement Commands');
  39.       WriteMem(4,7,'Line up            Up arrow');
  40.       WriteMem(4,8,'Line down          Down arrow');
  41.       WriteMem(4,9,'Character left     Left arrow');
  42.       WriteMem(4,10,'Character right    Right arrow');
  43.       WriteMem(4,11,'Beginning of line  Home');
  44.       WriteMem(4,12,'End of line        End');
  45.       WriteMem(4,13,'Page up            PgUp');
  46.       WriteMem(41,7,'Page down          PgDn');
  47.       WriteMem(41,8,'Top of document    Ctrl-Home');
  48.       WriteMem(41,9,'End of document    Ctrl-End');
  49.       WriteMem(41,10,'Word left          Ctrl-Left arrow');
  50.       WriteMem(41,11,'Word right         Ctrl-Right arrow');
  51.       WriteMem(41,12,'Tab to left        Shift-Tab');
  52.       WriteMem(41,13,'Tab to right       Tab');
  53.       WriteMem(4,16,'Miscellaneous Commands');
  54.       WriteMem(4,18,'Toggle insert      Insert');
  55.       WriteMem(4,19,'Delete character   Delete');
  56.       WriteMem(4,20,'Backspace          Backspace');
  57.       WriteMem(4,21,'Delete line        Ctrl-Y');
  58.       WriteMem(41,18,'Erase until end    Ctrl-E');
  59.       WriteMem(41,19,'Center line        Ctrl-C');
  60.       WriteMem(41,20,'Next line          Enter (insert off)');
  61.       WriteMem(41,21,'Insert line        Enter (insert on)');
  62.       GetKey(Key,Extended,[#27],[],True,True,UpdateProc,0);
  63.       CloseWindow;
  64.       RestoreCursor(CState);
  65.       Key := #0;
  66.       HelpOn := False
  67.     end
  68. end;
  69. {$F-}
  70.  
  71.  
  72. Begin
  73.   TextAttr := 7;
  74.   CursorOff;
  75.   HelpOn := False;
  76.   ClearArea(1,1,80,25,7,'▒');
  77.   DrawBox(4,2,77,4,'','',DoubleFrame,15+1*16,14+1*16,True);
  78.   WriteMem(5,3,Center('The "Complete" Borland Turbo Pascal 6.0 Toolbox',72));
  79.   WriteXY(1,25,CopyChar(' ',80),112);
  80.   WriteXY(2,25,'F1',4+7*16);
  81.   WriteXY(5,25,'Help',0+7*16);
  82.   WriteXY(11,25,'Esc',4+7*16);
  83.   WriteXY(15,25,'Exit',0+7*16);
  84.   InitEditBuffer(Buffer,65520);
  85.   LoadEditBuffer(Buffer,'sample.txt',ErrorCode);
  86.   If ErrorCode <> 0 then
  87.     ClearEditBuffer(Buffer);
  88.   DrawBox(5,7,76,22,' Text Editor ','',SingleFrame,14+1*16,15+1*16,True);
  89.   EditText(Buffer,6,8,70,14,[#32..#255],False,[#27],[],
  90.            Key,Extended,True,AtStart,False,UpdateProc,0);
  91.   If Buffer^.ChangesMade then
  92.     SaveEditBuffer(Buffer,'sample.txt',ErrorCode);
  93.   ClrScr;
  94.   CursorOn(False);
  95.   FreeEditBuffer(Buffer)
  96. end.
  97.  
  98.  
  99.